package com.dz.lm.service.agentreview;

import com.dz.lm.common.dto.AgentReviewDTO;
import com.dz.lm.common.dto.PageDto;
import com.dz.lm.common.exception.ServiceException;
import com.dz.lm.domain.agentreview.AgentReview;

import java.util.Map;

public interface AgentReviewService {
    int add(AgentReview agentReview) throws ServiceException;

    /**
     * 审核
     * @param reviewId
     * @param status 状态 0申请1 审核通过
     * -1 审核未通过
     * @param remark
     * @param returnPoint 审核添加返点设置，>-1时填充
     * @param levelNum 代理级别
     * @return
     * @throws Exception
     */
    int doReview(int reviewId,int status ,String remark,String agentContent,double returnPoint ,double agentSale ,String levelNum )throws ServiceException;

    /**
     * 通过代理产品删除
     * @param applyPid
     * @return
     * @throws Exception
     */
    int delete(int applyPid) throws ServiceException;

    /**
     *查询
     * @param pageNum
     * @param rows
     * @param handUid 处理人
     * @param status 0申请1 审核通过
     *      * -1 审核未通过
     * @return
     * @throws Exception
     */
    PageDto query(int pageNum, int rows ,int handUid , int status)throws ServiceException;

    /**
     * 数量
     * @param handUid 处理人
     * @param applyUid 申请人
     * @param productId 产品id
     * @param status
     * @return
     * @throws ServiceException
     */
    int queryCount(int handUid ,int applyUid ,int productId,int status)throws ServiceException;

    /**
     *获取详情
     * @param reviewId
     * @param applyPid
     * @param isDetail
     * @return
     * @throws Exception
     */
    AgentReviewDTO get(int reviewId, int applyPid, boolean isDetail) throws ServiceException;
    /**
     * 小程序上传照片
     * @param map
     * @return
     * @throws ServiceException
     */
    int updateImage(Map map) throws ServiceException;
}
